<?php
namespace PsiFramework\Applications\DefaultApp\Classes\Model;

import("Classes.Model.Object");
import("Classes.Model.ModelInterface.IUser");

use \PsiFramework\Classes\Model\Object;
use \PsiFramework\Classes\Model\ModelInterface\IUser;

/**
 * PsiFramework
 * Php Simple Framework
 *
 * @author Rémi San
 * @version beta
 */

/**
 * The Activation class describes the information for an account activation
 *
 * @package Model
 */
class Activation extends Object
{

    protected /*User*/   $_user ;
    protected /*string*/ $_activationKey ;

    /**
     * Country constructor
     *
     * @param     User        $user            the user
     * @param     string      $activationKey   the activation key
     * @return    Activation  the activation instance
     */
    public function __construct(
        /*User*/ $user=null,
        /*string*/ $activationKey=null
    )
    {
        $this->_user = $user ;
        $this->_activationKey = $activationKey ;
    }

    /**
     * Getter for user
     *
     * @return User    the user
     */
    public function getUser()
    {
        return $this->_user ;
    }

    /**
     * Getter for activationKey
     *
     * @return string    the activation key
     */
    public function getActivationKey()
    {
        return $this->_activationKey ;
    }

    /**
     * Setter for user
     *
     * @param User    the user
     */
    public function setUser(/*User*/ $user)
    {
        $this->_user = $user ;
    }

    /**
     * Setter for activationKey
     *
     * @param string    the activation key
     */
    public function setActivationKey(/*string*/ $activationKey)
    {
        $this->_activationKey = $activationKey ;
    }

    /**
     * Getter for the id
     *
     * @return string    the id
     */
    public function getId()
    {
        return $this->getActivationKey();
    }

    /**
     * toString
     *
     * @return string    the string
     */
    public function toString()
    {
        return $this->_activationKey ;
    }
}
